package cn.fl.warrant.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.warrant.vo.ArcSwitchMainVO;
import cn.fl.warrant.vo.ArcMgrMainVO;
import fl.warrant.facade.archive.dto.ArcSwitchMainDTO;

 /**
 * @Description: 转仓主表转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class ArcSwitchMainVOTransform {


	/**
	 * DTO 转  VO
	 * @param po ArcSwitchMainDTO
	 * @return ArcSwitchMainVO
	 */
	public static ArcSwitchMainVO toVO(ArcSwitchMainDTO dto) {
		ArcSwitchMainVO  vo = null;
		if (dto != null) { 
			vo = new ArcSwitchMainVO();
			vo.setId(dto.getId());			
			vo.setContractNo(dto.getContractNo());//合同号
			vo.setPaylistCode(dto.getPaylistCode());
			vo.setCstMgrOrgCd(dto.getCstMgrOrgCd());//客户经理组织架构代码
			vo.setPortfolioNumber(dto.getPortfolioNumber());//总公司档案袋编号
			vo.setPortfolioNumberProvince(dto.getPortfolioNumberProvince());//省公司档案袋编号
			vo.setIsValid(dto.getIsValid());//是否有效（1：是，0：否）（SYS0021）
			vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）
			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
			vo.setBuOrgCd(dto.getBuOrgCd());
			vo.setBz(dto.getBz());
			vo.setPrjId(dto.getPrjId());
			vo.setCstNm(dto.getCstNm());
			vo.setStatus(dto.getStatus());
			vo.setPayTStatus(dto.getPayTStatus());
			vo.setSuStatus(dto.getSuStatus());
			vo.setFlowPlace(dto.getFlowPlace());
			vo.setCrtUsrName(dto.getCrtUsrName());
			vo.setBuOrgCdNm(dto.getBuOrgCdNm());//事业部
			vo.setCstMgrOrgCdPr(dto.getCstMgrOrgCdPr());//省公司
			vo.setCstMgrOrgCdCy(dto.getCstMgrOrgCdCy());//分公司
			vo.setStatusNm(dto.getStatusNm());//转仓状态
			vo.setPayTStatusNm(dto.getPayTStatusNm());//支付表拖回状态
			vo.setSuStatusNm(dto.getSuStatusNm());//诉讼状态
			vo.setCstPlace(dto.getCstPlace());//属地合同管理员
			vo.setCstPlaceId(dto.getCstPlaceId());//属地合同管理员
			vo.setPkid(dto.getPkid());
			vo.setPaySchId(dto.getPaySchId());
			vo.setDlist(ArcSwitchDetailVOTransform.toVOList(dto.getDlist()));
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto ArcSwitchMainVO
	 * @return ArcSwitchMainDTO
	 */
	public static ArcSwitchMainDTO toDTO(ArcSwitchMainVO vo) {
		ArcSwitchMainDTO dto = null;
		if (vo != null) {
			dto = new ArcSwitchMainDTO();
			dto.setId(vo.getId());			
			dto.setContractNo(vo.getContractNo());//合同号
			dto.setPaylistCode(vo.getPaylistCode());
			dto.setCstMgrOrgCd(vo.getCstMgrOrgCd());//客户经理组织架构代码
			dto.setPortfolioNumber(vo.getPortfolioNumber());//总公司档案袋编号
			dto.setPortfolioNumberProvince(vo.getPortfolioNumberProvince());//省公司档案袋编号
			dto.setIsValid(vo.getIsValid());//是否有效（1：是，0：否）（SYS0021）
			dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）
			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
			dto.setBuOrgCd(vo.getBuOrgCd());
			dto.setBz(vo.getBz());
			dto.setPrjId(vo.getPrjId());
			dto.setCstNm(vo.getCstNm());
			dto.setStatus(vo.getStatus());
			dto.setPayTStatus(vo.getPayTStatus());
			dto.setSuStatus(vo.getSuStatus());
			dto.setFlowPlace(vo.getFlowPlace());
			dto.setCrtUsrName(vo.getCrtUsrName());
			dto.setBuOrgCdNm(vo.getBuOrgCdNm());//事业部
			dto.setCstMgrOrgCdPr(vo.getCstMgrOrgCdPr());//省公司
			dto.setCstMgrOrgCdCy(vo.getCstMgrOrgCdCy());//分公司
			dto.setStatusNm(vo.getStatusNm());//转仓状态
			dto.setPayTStatusNm(vo.getPayTStatusNm());//支付表拖回状态
			dto.setSuStatusNm(vo.getSuStatusNm());//诉讼状态
			dto.setCstPlace(vo.getCstPlace());//属地合同管理员
			dto.setCstPlaceId(vo.getCstPlaceId());//属地合同管理员
			dto.setPkid(vo.getPkid());
			dto.setPaySchId(vo.getPaySchId());
			dto.setDlist(ArcSwitchDetailVOTransform.toDTOList(vo.getDlist()));
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<ArcSwitchMainDTO>
	 * @return List<ArcSwitchMainVO>
	 */
	public static List<ArcSwitchMainVO> toVOList(List<ArcSwitchMainDTO> list) {
		List<ArcSwitchMainVO>  voList = new ArrayList<ArcSwitchMainVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (ArcSwitchMainDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<ArcSwitchMainVO>
	 * @return List<ArcSwitchMainDTO>
	 */
	public static List<ArcSwitchMainDTO> toDTOList(List<ArcSwitchMainVO> list) {
		List<ArcSwitchMainDTO>  dtoList = new ArrayList<ArcSwitchMainDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (ArcSwitchMainVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
	
}
